0 REM ********************************* 1 REM * HIGH SCORE VERS.1.86 * 2 REM * * 3 REM * KLAUS-DIETER FROHN * 4 REM * * 5 REM * FALKENWEG 12 * 6 REM * * 7 REM * 2200 ELMSHORN * 8 REM * * 9 REM ********************************* 10 IFPEEK(787)=0THENPOKE787,1:POKE45,PEEK(174):POKE46,PEEK(175):CLR 20 IFPEEK(787)=1THENPOKE787,2:LOAD"BILD H-S",8,1 30 POKE 787,0 40 POKE53248+21,0 50 POKE51,128:POKE56,128 60 V=53248:SYS695:PRINTCHR$(142):A=40448:PU=PEEK(1020)*256+PEEK(1021) 70 REM NEUER ZEICHENSATZ ************** 71 DATA 102,254,254,254,000,239,239,239,000 72 DATA 104,000,000,000,000,239,239,239,000 73 RESTORE 74 FORN=1TO2:READD:D=57344+D*8:FORI=DTOD+7:READE:POKEI,E:NEXTI:NEXTN 90 GOTO1610 100 REM 101 REM ******************************* 103 REM * LADEN DES HIGH SCORE PEGEL * 104 REM ******************************* 109 REM 110 OPEN15,8,15,"I0":GOSUB910:CR$=CHR$(13):I=1 120 OPEN2,8,2,"0:H - S,S,R":GOSUB910 130 INPUT#2,N$(I),P(I):RS=ST:GOSUB910 140 IFR S=64THEN CLOSE2:RETURN 150 IF RS<>0THEN180 160 I=I+1:IFI=10THEN CLOSE2:RETURN 170 GOTO130 180 PRINT"[154]STATUS FEHLER "RS:CLOSE2 190 RETURN 200 REM 201 REM ******************************* 202 REM * HIGH SCORE SORTIERUNG * 203 REM ******************************* 209 REM 210 IFPUP(9)THENP(9)=PU:N$(9)=N$ 212 IFPU>P(8)THENP(9)=P(8):N$(9)=N$(8):P(8)=PU:N$(8)=N$ 220 IFPU>P(7)THENP(8)=P(7):N$(8)=N$(7):P(7)=PU:N$(7)=N$ 230 IFPU>P(6)THENP(7)=P(6):N$(7)=N$(6):P(6)=PU:N$(6)=N$ 240 IFPU>P(5)THENP(6)=P(5):N$(6)=N$(5):P(5)=PU:N$(5)=N$ 250 IFPU>P(4)THENP(5)=P(4):N$(5)=N$(4):P(4)=PU:N$(4)=N$ 260 IFPU>P(3)THENP(4)=P(3):N$(4)=N$(3):P(3)=PU:N$(3)=N$ 270 IFPU>P(2)THENP(3)=P(2):N$(3)=N$(2):P(2)=PU:N$(2)=N$ 280 IFPU>P(1)THENP(2)=P(1):N$(2)=N$(1):P(1)=PU:N$(1)=N$ 290 RETURN 300 REM 301 REM ****************************** 302 REM * SCHREIBEN DES HIGH SCORES * 303 REM * AUF DISKETTE * 304 REM ****************************** 309 REM 310 FORN=0TO20:PRINT:NEXT:PRINT" [150] [146]" 311 PRINT" [150] SCHREIBEN DES HIGH SCORES AUF DISK [146]" 312 PRINT" [150] [146]" 320 FORN=0TO9:PRINT:NEXT 330 CR$=CHR$(13):I=1 340 OPEN2,8,2,"@0:H - S,S,W":GOSUB910 350 PRINT#2,N$(I)","STR$(P(I))CR$ 360 GOSUB910 370 I=I+1:IFI=10THEN390 380 GOTO350 390 CLOSE2:CLOSE15:RETURN 400 REM 401 REM ****************************** 402 REM * ANZEIGEN DES HIGH SCORES * 403 REM ****************************** 409 REM 410 POKE53280,0:POKE53281,0:PRINT"[147]":SYS828,1:PRINT"[154]"; 420 FORI=1TO3 421 : IFP(I)< 10THENPRINTTAB(11)P(I);:GOTO426 422 : IFP(I)< 100THENPRINTTAB(10)P(I);:GOTO426 423 : IFP(I)< 1000THENPRINTTAB( 9)P(I);:GOTO426 424 : IFP(I)<10000THENPRINTTAB( 8)P(I);:GOTO426 425 : PRINTTAB(7)P(I); 426 : PRINTTAB(15)N$(I) 427 : PRINT 428 NEXT 429 PRINT"" 430 FORI=4TO9 431 : IFP(I)< 10THENPRINTTAB(11)P(I);:GOTO436 432 : IFP(I)< 100THENPRINTTAB(10)P(I);:GOTO436 433 : IFP(I)< 1000THENPRINTTAB( 9)P(I);:GOTO436 434 : IFP(I)<10000THENPRINTTAB( 8)P(I);:GOTO436 435 : PRINTTAB(7)P(I); 436 : PRINTTAB(15)N$(I) 437 : PRINT 438 NEXT 439 Z=0:C=0 440 PRINT"[150]  BITTE JOY BEWEGEN! [146]" 450 J=PEEK(56320) 451 IF(JAND4)=0THENRETURN 452 IF(JAND8)=0THENRETURN 453 IF(JAND1)=0THENRETURN 454 IF(JAND2)=0THENRETURN 455 IF(JAND16)=0THENRETURN 456 C=C+1:IFC=50THENC=0:GOTO460 460 IFZ=0THENZ=1:GOTO470 461 IFZ=1THENZ=0:GOTO440 470 PRINT"  BITTE JOY BEWEGEN! [146]" 471 GOTO450 500 REM 501 REM ****************************** 502 REM * ABFRAGE OB NEUES SPIEL * 503 REM ****************************** 509 REM 510 POKE1020,0:POKE1021,0:POKE2,1:POKE787,0:POKE2,1 520 PRINT"[154]WOLLEN SIE EIN NEUES SPIEL?" 521 PRINT" WERDEN?" 522 PRINT" BENUTZE DEN JOYSTICK !" 523 PRINT"[155] JOY NACH OBEN = JA" 524 PRINT" JOY NACH UNTEN = NEIN" 525 PRINT" FEUERKNOPF = WEITER" 529 SYSA,10,10," JA ":Z=1 530 POKE56320,127 532 J=PEEK(56320) 533 IF(JAND1)=0THEN529 534 IF(JAND2)=0THEN540 535 IF(JAND16)=0THEN537 536 GOTO530 537 IFZ=0THENGOSUB550:GOTO595 538 IFZ=1THENGOSUB550:GOTO590 539 GOTO530 540 SYSA,10,10,"NEIN":Z=0 541 GOTO530 550 FORN=0TO20:PRINT:NEXT:PRINT" [150] [146]" 551 PRINT" [150] DAS PROGRAMM WIRD GELADEN [146]" 552 PRINT" [150] [146]" 553 RETURN 590 LOAD"C/GAME",8 595 LOAD"MENUE",8 600 REM 601 REM ******************************* 602 REM * BILD UND SPRITES EIN * 608 REM ******************************* 609 REM 610 PRINT"[147]":SYS828,2:B=0:N$="" 620 POKE53240,12:POKE53241,13:POKE53242,21 630 POKEV+39,9:POKEV+40,7:POKEV+41,11 640 POKEV+23,7:POKEV+29,7 650 X=33:Y=112:POKEV,X:POKEV+2,X:POKEV+4,19 660 POKEV+1,Y-26:POKEV+3,Y:POKEV+5,119 670 POKEV+16,7:POKEV+21,7 680 GOSUB710 690 RETURN 700 REM 701 REM ******************************* 702 REM * GERAEUSCHKULISSE EIN * 708 REM ******************************* 709 REM 710 S=54272 720 FORL=0TO24:POKES+L,0:NEXT 730 POKES+14,5:POKES+18,16:POKES+3,1:POKES+24,143:POKES+6,240:POKES+4,65 740 RETURN 750 REM 751 REM ******************************* 752 REM * SONDERGERAEUSCH * 758 REM ******************************* 759 REM 760 FORL=0TO24:POKES+L,0:NEXT 770 POKES+14,5:POKES+18,16:POKES+3,1:POKES+24,143:POKES+6,240:POKES+4,131 790 RETURN 800 REM 801 REM ******************************* 802 REM * ABFRAGUNG OB LOESCHEN * 808 REM ****************************** 809 REM 810 PRINT" [150]SOLLEN DIE ERSTEN DREI MIT GELOESCHT" 811 PRINT" WERDEN?" 812 PRINT" BENUTZE DEN JOYSTICK !" 813 PRINT"[155] JOY NACH OBEN = JA" 814 PRINT" JOY NACH UNTEN = NEIN" 815 PRINT" FEUERKNOPF = WEITER" 820 SYSA,10,10," JA ":Z=1 830 POKE56320,127 832 J=PEEK(56320) 833 IF(JAND1)=0THEN820 834 IF(JAND2)=0THEN840 835 IF(JAND16)=0THEN837 836 GOTO830 837 IFZ=0THEN860 838 IFZ=1THEN850 839 GOTO830 840 SYSA,10,10,"NEIN":Z=0 841 GOTO830 850 FORN=1TO3 851 : N$(N)="*":P(N)=0 852 : NEXT 860 FORN=4TO9 861 : N$(N)="*":P(N)=0 862 : NEXT 870 RETURN 899 GOTO899 900 REM 901 REM ****************************** 902 REM * ERROR AUF DISK * 903 REM ****************************** 909 REM 910 : 920 INPUT#15,EN,EM$,ET,ES 930 : 940 IF EN=0THEN RETURN 950 PRINT"[150]ERROR AUF DER DISK"; 960 PRINTEN;EM$;ET;ES 970 CLOSE2 990 RETURN 1000 REM 1001 REM ****************************** 1002 REM * PUNKTE IN GROSS AN * 1003 REM ****************************** 1009 REM 1010 PRINT"":IFPU< 10THENSYSA,18,13,PU:GOTO1020 1011 IFPU< 100THENSYSA,18, 9,PU:GOTO1020 1012 IFPU< 1000THENSYSA,18, 5,PU:GOTO1020 1013 IFPU<10000THENSYSA,18, 1,PU:GOTO1020 1014 PU$=STR$(PU):PU$=RIGHT$(PU$,5):SYSA,18,1,PU$ 1020 POKES+1,2:D=0 1021 J=PEEK(56320) 1022 IF(JAND1)=0THENB=0:B$="":SYSA,18,35,CHR$(32) 1023 IF(JAND2)=0ANDB=1THEND=0:GOTO1410 1024 IF(JAND4)=0THEND=0:GOTO1110 1025 IF(JAND16)=0THENB=0:POKES+24,0:D=0:GOTO1510 1026 D=D+1:IFD=5THEND=0:POKES+1,2 1027 GOTO1021 1100 REM 1101 REM ****************************** 1102 REM * WAGEN ZU DEN BUCHSTABEN * 1108 REM ****************************** 1109 REM 1110 POKES+1,3 1120 FORX=33TO0STEP-1 1130 POKEV,X:POKEV+2,X 1140 NEXT 1150 POKEV+16,4 1160 FORX=255TO245STEP-1 1170 : 1180 POKEV,X:POKEV+2,X 1190 NEXT 1200 REM 1201 REM ****************************** 1202 REM * WAGEN UEBER DEN BUCHSTABEN * 1208 REM ****************************** 1209 REM 1210 POKES+1,2:D=0 1211 J=PEEK(56320) 1212 REM IF(JAND1)=0THEN**** 1213 IF(JAND2)=0THEND=0:GOTO1332 1214 IF(JAND4)=0ANDX>28THEND=0:GOSUB1322 1215 IF(JAND8)=0ANDX<252THEND=0:GOSUB1312 1216 IF(JAND8)=0ANDX=252THEND=0:GOTO1382 1217 D=D+1:IFD=5THEND=0:POKES+1,2 1219 GOTO1211 1300 REM 1301 REM ****************************** 1302 REM * LAUFROUTINEN * 1308 REM ****************************** 1309 REM 1310 REM WAGEN 1 FELD LINKS *********** 1311 REM 1312 POKES+1,3 1313 FORN=1TO8 1314 X=X+1:POKEV,X:POKEV+2,X 1315 NEXT 1316 RETURN 1319 REM 1320 REM WAGEN 1 FELD RECHTS ********** 1321 REM 1322 POKES+1,3 1323 FORN=1TO8 1324 X=X-1:POKEV,X:POKEV+2,X 1325 NEXT 1326 RETURN 1329 REM 1330 REM KORB HERUNTER **************** 1331 REM 1332 GOSUB760:POKES+1,180 1333 FORN=0TO3 1334 FORT=0TO50:NEXT 1335 POKE53241,PEEK(53241)+1 1336 NEXT:GOSUB710:POKES+1,3 1339 REM 1340 REM BUCHSTABENBERECHNUNG ********* 1341 REM 1342 : 1343 B$=CHR$(INT(X/8)+61) 1344 IFB$=CHR$(64)THENB$=CHR$(45) 1345 IFB$=CHR$(91)THENB$=CHR$(32) 1346 PRINT"[159]":SYSA,18,35,B$ 1349 REM 1350 REM BUCHSTABE UEBERNEHMEN ******** 1351 REM 1352 D=0 1353 J=PEEK(56320) 1354 IF(JAND1)=0THEND=0:GOTO1362 1355 IF(JAND16)=0THENB=1:D=0:GOTO1372 1356 D=D+1:IFD=5THEND=0:POKES+1,2 1357 GOTO1353 1359 REM 1360 REM BUCHSTABE LOESCHEN *********** 1361 REM 1362 B$="":SYSA,18,35," " 1363 GOSUB760:POKES+1,180 1364 FORN=0TO3 1365 FORT=0TO50:NEXT 1366 POKE53241,PEEK(53241)-1 1367 NEXT:GOSUB710:POKES+1,3 1368 GOTO1210 1369 REM 1370 REM WAGEN ZURUECK ZUM START ****** 1371 REM 1372 GOSUB760:POKES+1,180 1373 FORN=0TO3 1374 FORT=0TO50:NEXT:POKE53241,PEEK(53241)-1:NEXT:GOSUB710:POKES+1,3 1375 GOSUB710:POKES+1,3 1376 FORX=XTO255 1377 POKEV,X:POKEV+2,X:NEXT:POKEV+16,7 1378 FORX=0TO33:POKEV,X:POKEV+2,X:NEXT 1379 GOTO1020 1380 REM WAGEN ZUM START 1381 REM 1382 POKES+1,3 1383 FORX=252TO255 1384 POKEV,X:POKEV+2,X 1385 NEXT:POKEV+16,7 1386 FORX=0TO33 1387 POKEV,X:POKEV+2,X 1388 NEXT 1389 GOTO1020 1400 REM 1401 REM ****************************** 1402 REM * BUCHSTABE WIRD UEBERGEBEN * 1408 REM ****************************** 1409 REM 1410 GOSUB760:POKES+1,180 1411 FORN=1TO7 1412 POKE53241,PEEK(53241)+1 1413 FORT=0TO50:NEXT 1414 NEXT:GOSUB710 1420 GOSUB760:POKES+1,180 1421 FORN=1TO7 1422 POKE53241,PEEK(53241)-1 1423 FORT=0TO50:NEXT 1424 NEXT:GOSUB710 1430 GOSUB760:POKES+1,225 1431 FORN=1TO6 1432 POKE53242,PEEK(53242)+1 1433 FORT=0TO50:NEXT 1434 NEXT:GOSUB710 1440 N$=N$+B$ 1441 WL=LEN(N$) 1442 PRINT"[150]"TAB(32-WL)N$ 1443 B$="" 1445 SYSA,18,35,CHR$(32) 1450 GOSUB760:POKES+1,245 1451 FORN=1TO6 1452 POKE53242,PEEK(53242)-1 1453 FORT=0TO50:NEXT 1454 NEXT:GOSUB710:POKES+1,3 1460 REM IFWL=18THENB=0:GOTO*SICHERHEITSABFRAGE* 1470 GOSUB710 1480 GOTO1020 1500 REM 1501 REM ****************************** 1502 REM * SICHERHEITSABFRAGE * 1503 REM ****************************** 1509 REM 1510 POKEV+21,0:POKEV+16,0:Z=0 1520 PRINT"[147]"TAB(4)"SIE GABEN FOLGENDEN NAMEN EIN:" 1530 PRINT"[158]"TAB(20-(LEN(N$)/2))N$ 1540 SYSA,10,10," JA ":Z=1 1550 J=PEEK(56320) 1551 IF(JAND1)=0THEN1540 1552 IF(JAND2)=0THEN1560 1553 IF(JAND16)=0ANDZ=1THEN1650 1554 IF(JAND16)=0ANDZ=0THENN$="":GOTO1630 1555 GOTO1550 1560 SYSA,10,10,"NEIN":Z=0 1561 GOTO1550 1600 REM 1601 REM ****************************** 1602 REM * PROGRAMM STEUERUNG * 1608 REM ****************************** 1609 REM 1610 IFPEEK(1022)=255THENPOKE1022,0:GOTO1710 1620 GOSUB110:REM LESEN VON DISK 1630 GOSUB610:REM BILD EIN 1640 GOTO1010:REM NAMENSABFRAGUNG 1650 GOSUB210:REM SORTIERUNG 1660 GOSUB310:REM SCHREIBEN AUF DISK 1670 GOSUB410:REM ANZEIGEN 1680 GOTO 510:REM LADEN DES SPIELS 1700 REM 1701 REM ****************************** 1702 REM * HIGH SCORE LOESCHEN + * 1703 REM * ANZEIGEN * 1708 REM ****************************** 1709 REM 1710 GOSUB 110:REM LESEN VON DISK 1720 GOSUB 410:REM ANZEIGEN 1730 GOSUB1810:REM ABFRAGE LOESCHEN 1740 GOSUB 310:REM SCHREIBEN AUF DISK 1750 GOSUB 410:REM ANZEIGEN 1760 : 1770 : 1780 : 1790 GOTO 510:REM LADEN DES SPIEL 1800 REM 1801 REM ****************************** 1802 REM * ABFRAGUNG OB LOESCHEN * 1808 REM ****************************** 1809 REM 1810 PRINT" [150]SOLL DER HIGH-SCORE GELOESCHT WERDEN?" 1811 PRINT 1812 PRINT" BENUTZE DEN JOYSTICK !" 1813 PRINT"[155] JOY NACH OBEN = JA" 1814 PRINT" JOY NACH UNTEN = NEIN" 1815 PRINT" FEUERKNOPF = WEITER" 1820 SYSA,10,10," JA ":Z=1 1830 POKE56320,127 1832 J=PEEK(56320) 1833 IF(JAND1)=0THEN1820 1834 IF(JAND2)=0THEN1840 1835 IF(JAND16)=0THEN1837 1836 GOTO1830 1837 IFZ=0THENRETURN 1838 IFZ=1THENGOTO810 1839 GOTO1830 1840 SYSA,10,10,"NEIN":Z=0 1841 GOTO1830